from fpdf import FPDF
from datetime import datetime
import os
base_path = os.path.dirname(__file__)
class ConsentForm(FPDF):
    def header(self):
        # 设置页眉内容
        ttf_path = os.path.join(base_path,'ttf','fs_gb2312.ttf')
        self.add_font('fs_gb2312','',ttf_path,True) #添加字体
        self.set_font("fs_gb2312", "", 18) #设置字体大小
        self.ln(2)
        self.cell(0, 10, "医院知情同意书", 0, 1, "C")
        self.ln(10)

    def footer(self):
        # 设置页脚内容
        self.set_y(-15)
        self.set_font("fs_gb2312", "", 8)
        # self.cell(0, 10, "Page %s" % self.page_no(), 0, 0, "C") #添加上第几页
        self.cell(0,10,'广州信瑞医疗技术有限公司',0,0,'C')

    def add_content(self):
        # 添加同意书内容
        self.set_font("fs_gb2312", "", 12)

        text = f"""
        This is the consent form text.
        Please read and sign the form to indicate your agreement to participate in the medical study at our hospital.
        Thank you.
        Hospital Name
        Address
        Date: {datetime.today().strftime('%Y-%m-%d')}
              
        """
        self.multi_cell(0, 10, text)

        self.cell(0,10,f'       医生：                     患者：                    日期：{datetime.strftime(datetime.now(),"%Y年%m月%d年")}',ln=1)
        # 插入图片
        self.image("img/201210239446215.jpg", x=self.get_x() + 30, y=self.get_y()-8, w=30, h=5,)  # 替换为你的图片路径和位置
        self.image("img/201210239446215.jpg", x=self.get_x() + 90, y=self.get_y() - 8, w=30, h=5, )  # 替换为你的图片路径和位置


def main():
    # 创建PDF对象并设置文档属性
    pdf = ConsentForm()
    #元数据：标题和作者
    pdf.set_title("Hospital Informed Consent Form")
    pdf.set_author("Hospital Name")

    # 添加页面并生成PDF文件
    pdf.add_page()
    pdf.add_content()
    #pdf文件保存路径
    path = os.path.join(base_path,'pdf','consent_form.pdf')
    pdf.output(path)

if __name__ == '__main__':
    '''
    1、使用tff字体时，要注意生成pkl文件，要在当前系统中运行时生成的，不能是其他地方生成的，不然会报错。可以删除掉pkl文件，再运行
    2、pip install fpdf
    '''
    main()

